Hacker Lab


Vous êtes connecté à un serveur en tant qu'utilisateur sans privilège particulier.
Vous allez utiliser quelques méthodes classique pour changer de compte et essayer de devenir administrateur.
Vous allez chercher les fichiers qui disposent d'un Sticky bit et permettent d'executer des commandes shell.

find / -perm -4000 -print 2>/dev/null

Des programmes comme nmap, vim, find, more, less, nano, awk... ou des interpreteurs comme sh, bash, python, perl, ruby permettent, s'il disposent du sticky bit, d'obtenir un shell de leur propriétaire.

Pour une liste complète des méthodes pour linux: [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Linux%20-%20Privilege%20Escalation.md]

Démarrez votre serveur dédié en cliquant sur [Start server].


Server status : stopped


1 / 3 - Pas moins
10

Connecte toi au serveur en ctf-escalation_, avec le user 'tokio' et le mot de passe 'esther'.

id 

Regarde quel est ton id.

Va dans le répertoire de moscow avec la commande cd.
Essaye de lire son flag.

ls -al 
./less (fichier que tu as le droit de lire...) 

Le binaire less possède un sticky bit. Less est un utilitaire qui permet de lire un fichier et de se déplacer en avant et en arrière. Tu vas pouvoir lire le fichier comme si tu étais moscow.
Utilise 'q' pour quitter less.

2 / 3 - Trouvé !
10

Connecte toi au serveur en ctf-escalation_, avec le user 'moscow' et le mot de passe 'alvaro'.

Va dans le répertoire de rio et essaye de lire son flag.

ls -al 

Le binaire find possède un sticky bit. Tu vas pouvoir l'utiliser comme si tu étais rio.
L'option -exec permet de lancer des commandes shell. Utilise la pour lancer la commande id.

./find . -name flag* -exec cat {} \; 

Lisons le flag.

3 / 3 - Une petite histoire du temps
10

Connecte toi au serveur en ctf-escalation_, avec le user 'rio' et le mot de passe 'paco'.

Regarde quel est ton id.
Va dans le répertoire de berlin.

Le binaire awk possède un sticky bit. awk est un utilitaire de manipulation de fichier. Tu vas pouvoir l'utiliser comme si tu étais rio. Il permet de lancer des commandes shell sur des fichiers.

./awk 'BEGIN{file="flag04.txt";while ((getline<file) > 0) {print}}' 

Lisons le flag.